#ifndef _UIBASEIMPL_H_
#define _UIBASEIMPL_H_

#include "stdafx.h"

class CUiBaseImpl :	public IUIBase,
					public IPlugin,
					public IPluginRun,
					public CUnknownImp
{
public:
	CUiBaseImpl(void);
	virtual ~CUiBaseImpl(void);
public:

	BEGIN_STDCOM_MAP
		STDCOM_INTERFACE_ENTRY_UNKNOWN_(IUIBase)
		STDCOM_INTERFACE_ENTRY(IPlugin)
		STDCOM_INTERFACE_ENTRY(IPluginRun)
		STDCOM_INTERFACE_ENTRY(IUIBase)
	END_STDCOM_MAP


	//IPlugin
	std_method(Init)(int Argc, basic_tchar* Argv[], IBase* pRot, IBase* pBase);
	std_method(Uninit)();

	//IPluginRun
	std_method(Start)(_pinstance hInstance, UINT uType);
	std_method(Stop)(UINT uExitCode);

	//IUiBase
	std_method(CreateControl)(UIType type, IBase **pControl);

private:
	ComRotMessagePtr m_pRot;
};

#endif 

